package com.yyk.yykywd.http;

import com.yyk.yykywd.BusinessPeopleInfoKt;
import com.yyk.yykywd.bean.AlidayuSendsmsInfo;
import com.yyk.yykywd.bean.BaseBean;
import com.yyk.yykywd.bean.CenterCarInfo;
import com.yyk.yykywd.bean.CenterChangephoneInfo;
import com.yyk.yykywd.bean.CenterCheckyzmInfo;
import com.yyk.yykywd.bean.CenterFeedInfo;
import com.yyk.yykywd.bean.ClentClientReturneddetailInfo;
import com.yyk.yykywd.bean.ClentClientdetailInfo;
import com.yyk.yykywd.bean.ClientListInfo;
import com.yyk.yykywd.bean.IndexDetailsreportInfo;
import com.yyk.yykywd.bean.IndexIndexallInfo;
import com.yyk.yykywd.bean.IndexLineInfo;
import com.yyk.yykywd.bean.IndexLinelistInfo;
import com.yyk.yykywd.bean.IndexReportInfo;
import com.yyk.yykywd.bean.LoginLoginInfo;
import com.yyk.yykywd.bean.WorkApplydetailInfo;
import com.yyk.yykywd.bean.WorkApplylistInfo;
import com.yyk.yykywd.bean.WorkBusinameInfo;
import com.yyk.yykywd.bean.WorkBusinessfollowInfo;
import com.yyk.yykywd.bean.WorkBusinesslistInfo;
import com.yyk.yykywd.bean.WorkBusinessreturnedInfo;
import com.yyk.yykywd.bean.WorkBusinesssuccessInfo;
import com.yyk.yykywd.bean.WorkCreateplanInfo;
import com.yyk.yykywd.bean.WorkDelplanInfo;
import com.yyk.yykywd.bean.WorkEditcardInfo;
import com.yyk.yykywd.bean.WorkGive_up_businessInfo;
import com.yyk.yykywd.bean.WorkIndexInfo;
import com.yyk.yykywd.bean.WorkPactdetailInfo;
import com.yyk.yykywd.bean.WorkPactlistInfo;
import com.yyk.yykywd.bean.WorkPlandetailInfo;
import com.yyk.yykywd.bean.WorkPlanlistInfo;
import com.yyk.yykywd.bean.WorkResetvisitInfo;
import com.yyk.yykywd.bean.WorkVisitInfo;
import com.yyk.yykywd.mvvm.entity.APPInfo;
import com.yyk.yykywd.mvvm.entity.AgentDetail1Bean;
import com.yyk.yykywd.mvvm.entity.AgentDetailBean;
import com.yyk.yykywd.mvvm.entity.AgentListBean;
import com.yyk.yykywd.mvvm.entity.DynamicBroadcastBean;
import com.yyk.yykywd.mvvm.entity.FollowTypeBean;
import com.yyk.yykywd.mvvm.entity.FullContractBean;
import com.yyk.yykywd.mvvm.entity.HomeBean;
import com.yyk.yykywd.mvvm.entity.HomeSearchBean;
import com.yyk.yykywd.mvvm.entity.HospitalDetailBean;
import com.yyk.yykywd.mvvm.entity.MaterialBean;
import com.yyk.yykywd.mvvm.entity.MeetingBean;
import com.yyk.yykywd.mvvm.entity.MeetingDetailBean;
import com.yyk.yykywd.mvvm.entity.OpenSeaNumBean;
import com.yyk.yykywd.mvvm.entity.PotentialCustomerBean;
import com.yyk.yykywd.mvvm.entity.SearchBean;
import com.yyk.yykywd.mvvm.entity.TypeBean;
import com.yyk.yykywd.mvvm.entity.WorkNumBean;

import java.util.Map;

import io.reactivex.Observable;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

/**
 * Created by Administrator on 2019/1/8 0008.
 */

public interface Api {
    //名片信息
    String NAMECARD = "h5bus/namecard?uid=";
    //业务通知信息
    String CONTENT = "inside/content.html?id=";


    //2：发送验证码（whm）
    @FormUrlEncoded
    @POST("inside/alidayu/sendSMS")
    Observable<AlidayuSendsmsInfo> postAlidayuSendmss(
            @FieldMap Map<String, String> stringMap
    );

    //接口1：创建计划（whm）
    @FormUrlEncoded
    @POST("inside/work/create_plan")
    Observable<WorkCreateplanInfo> postWorkCreateplan(@FieldMap Map<String, String> stringMap);

    //TODO 接口2：获取负责人列表（whm）
    @FormUrlEncoded
    @POST("inside/work/busi_name")
    Observable<WorkBusinameInfo> postWorkBusiname(@FieldMap Map<String, String> stringMap);

    //接口3：业务计划和拜访列表（whm）
    @FormUrlEncoded
    @POST("inside/work/plan_list")
    Observable<WorkPlanlistInfo> postWorkPlanlist(@FieldMap Map<String, String> stringMap);

    //接口4：业务计划详情（whm）
    @FormUrlEncoded
    @POST("inside/work/inside_detail")
    Observable<WorkPlandetailInfo> postWorkPlandetail(@FieldMap Map<String, String> stringMap);

    //接口5：删除业务计划（whm）
    @FormUrlEncoded
    @POST("inside/work/del_plan")
    Observable<WorkDelplanInfo> postWorkDelplan(@FieldMap Map<String, String> stringMap);

    //接口6：修改名片（ggk）
    @FormUrlEncoded
    @POST("inside/center/edit_card")
    Observable<WorkEditcardInfo> postWorkEditcard(@FieldMap Map<String, String> stringMap);

    //接口7：我的名片（ggk）
    @FormUrlEncoded
    @POST("inside/H5/card")
    Observable<CenterCarInfo> postCenterCar(@FieldMap Map<String, String> stringMap);    //

    //接口8：登录（ggk）
    @FormUrlEncoded
    @POST("inside/Login/login")
    Observable<LoginLoginInfo> postLoginLogin(@FieldMap Map<String, String> stringMap);

    //接口9.业务播报详情（ggk）  H5
    @FormUrlEncoded
    @POST("inside/h5/details_report")
    Observable<IndexDetailsreportInfo> postndexDetailsreport(@FieldMap Map<String, String> stringMap);

    //接口10.业务通知列表（ggk）
    @FormUrlEncoded
    @POST("inside/index/report")
    Observable<IndexReportInfo> postIndexReport(@FieldMap Map<String, String> stringMap);

    //接口11：客户拜访 有合作意向  暂无合作意向（whm）
    @FormUrlEncoded
    @POST("inside/work/visit")
    Observable<WorkVisitInfo> postWorkVisit(@FieldMap Map<String, String> stringMap);

    //   接口12：客户拜访 上传申请书 返回（whm）
    @FormUrlEncoded
    @POST("inside/work/reset_visit")
    Observable<WorkResetvisitInfo> postWorkResetvisit(@FieldMap Map<String, String> stringMap);


    //接口13：业务跟进（whm）
    @FormUrlEncoded
    @POST("inside/work/inside_follow")
    Observable<WorkBusinessfollowInfo> postWorkBusinessfollow(@FieldMap Map<String, String> stringMap);

    //接口14：放弃客户（whm）
    @FormUrlEncoded
    @POST("inside/work/give_up_inside")
    Observable<WorkGive_up_businessInfo> postWorkGive_up_inside(@FieldMap Map<String, String> stringMap);

    //接口15：仍需跟进列表  代签合同列表  回款列表  合作暂未达成列表（whm）
    @FormUrlEncoded
    @POST("inside/work/inside_list")
    Observable<WorkBusinesslistInfo> postWorkBusinesslist(@FieldMap Map<String, String> stringMap);

//    //接口16：上传合作申请书（whm）
//    @FormUrlEncoded
//    @POST("inside/work/inside_apply")
//    Observable<WorkBusinessapplyInfo> postWorkBusinessapply(@FieldMap Map<String, String> stringMap);
//    //接口17：上传合作申请书（whm）
//    @FormUrlEncoded
//    @POST("inside/work/inside_pact")
//    Observable<WorkBusinessapplyInfo> postWorkBusinessapply(@FieldMap Map<String, String> stringMap);

    //接口18：添加回款信息（whm）
    @FormUrlEncoded
    @POST("inside/work/inside_returned")
    Observable<WorkBusinessreturnedInfo> postWorkBusinessreturned(@FieldMap Map<String, String> stringMap);

    //接口19：查看合作申请书 no（whm）
    @FormUrlEncoded
    @POST("inside/work/apply_detail")
    Observable<WorkApplydetailInfo> postWorkApplydetail(@FieldMap Map<String, String> stringMap);

    //接口20：查看合同（whm）
    @FormUrlEncoded
    @POST("inside/work/pact_detail")
    Observable<WorkPactdetailInfo> postWorkPactdetail(@FieldMap Map<String, String> stringMap);

    //接口21：合作成功列表（whm）
    @FormUrlEncoded
    @POST("inside/work/inside_success")
    Observable<WorkBusinesssuccessInfo> postWorkBusinesssuccess(@FieldMap Map<String, String> stringMap);

    //接口22：工作模块首页（whm）
    @FormUrlEncoded
    @POST("inside/work/index")
    Observable<WorkIndexInfo> postWorkIndex(@FieldMap Map<String, String> stringMap);

    //接口24.首页业务线状态（ggk）

    @FormUrlEncoded
    @POST("inside/index/line")
    Observable<IndexLineInfo> postIndexLine(@FieldMap Map<String, String> stringMap);

    //接口25.首页（ggk）
    @FormUrlEncoded
    @POST("inside/index/line_list")
    Observable<IndexLinelistInfo> postIndexLinelist(@FieldMap Map<String, String> stringMap);


    //接口26：合同列表 no（whm）
    @FormUrlEncoded
    @POST("inside/work/pact_list")
    Observable<WorkPactlistInfo> postWorkPactlist(@FieldMap Map<String, String> stringMap);


    //27. 项目申请书列表 no（whm）
    @FormUrlEncoded
    @POST("inside/work/apply_list")
    Observable<WorkApplylistInfo> postWorkApplylist(@FieldMap Map<String, String> stringMap);


    //接口28：需求反馈（whm）
    @FormUrlEncoded
    @POST("inside/center/feedback")
    Observable<CenterFeedInfo> postCenterFeed(@FieldMap Map<String, String> stringMap);

    //接口29：换绑手机 验证手机（whm）
    @FormUrlEncoded
    @POST("inside/center/check_yzm")
    Observable<CenterCheckyzmInfo> postCenterCheckyzm(@FieldMap Map<String, String> stringMap);


    //接口30：换绑手机 绑定新手机（whm）
    @FormUrlEncoded
    @POST("inside/center/change_phone")
    Observable<CenterChangephoneInfo> postCenterChangephone(@FieldMap Map<String, String> stringMap);


    //接口31:客户列表（whm）
    @FormUrlEncoded
    @POST("inside/client/client_list")
    Observable<ClientListInfo> postClientList(@FieldMap Map<String, String> stringMap);


    //接口32:机构详情（whm）
    @FormUrlEncoded
    @POST("inside/client/client_detail")
    Observable<ClentClientdetailInfo> postClentClientdetail(@FieldMap Map<String, String> stringMap);

    //接口33:回款信息详情（whm）
    @FormUrlEncoded
    @POST("inside/client/returned_detail")
    Observable<ClentClientReturneddetailInfo> postClentClientReturneddetail(@FieldMap Map<String, String> stringMap);

    //接口34.首页全部（ggk）
    @FormUrlEncoded
    @POST("inside/index/index_all")
    Observable<IndexIndexallInfo> postIndexIndexall(@FieldMap Map<String, String> stringMap);


    //接口 26：业务端首页统计模块（cwb）
    @FormUrlEncoded
    @POST("inside/Index/list_center")
    Observable<HomeBean> postListCenter(@FieldMap Map<String, String> stringMap);

    //接口 25：业务端首页搜索模块（cwb）
    @FormUrlEncoded
    @POST("inside/Index/search_list")
    Observable<HomeSearchBean> postSearchList(@FieldMap Map<String, String> stringMap);

    //接口36 : 动态播报列表（cwb）
    @FormUrlEncoded
    @POST("inside/index/log_list")
    Observable<DynamicBroadcastBean> postLogList(@FieldMap Map<String, String> stringMap);

    //接口 24 : 业务端 工作主页面 （cwb）
    @FormUrlEncoded
    @POST("inside/WorkCount/work_list")
    Observable<WorkNumBean> postWorkList(@FieldMap Map<String, String> stringMap);

    //接口11:  回款完成列表 （cwb）
    @FormUrlEncoded
//    @POST("inside/WorkCount/accomplish_pact")
    @POST("inside/v2/Cloudlmage/accomplish_pact")
    Observable<FullContractBean> postContracts(@FieldMap Map<String, String> stringMap);

    //接口 21: 业务端 工作页面  安装医院模块  合同列表 （cwb）
    @FormUrlEncoded
    @POST("inside/WorkCount/insert_hos")
    Observable<FullContractBean> postInsertHos(@FieldMap Map<String, String> stringMap);

    //接口 13:  删除图片（cwb）
    @FormUrlEncoded
    @POST("inside/WorkCount/del_img")
    Observable<BaseBean> postDelImg(@FieldMap Map<String, String> stringMap);

    //接口38 : 代理商退款（cwb）
    @FormUrlEncoded
//    @POST("inside/CloudImage/refund")
    @POST("inside/v2/Cloudlmage/refund")
    Observable<BaseBean> postRefund(@FieldMap Map<String, String> stringMap);

    //接口 30:添加医院客户（cwm）
    @FormUrlEncoded
    @POST("inside/CloudImage/add_hospital_client")
    Observable<BaseBean> addHospitalClient(@FieldMap Map<String, String> stringMap);

    //接口 29:添加代理商客户（cwm）
    @FormUrlEncoded
    @POST("inside/CloudImage/add_agent_client")
    Observable<BaseBean> addAgentClient(@FieldMap Map<String, String> stringMap);

    //接口 51：获取医院类型&等级  代理商来源（cwb）
    @FormUrlEncoded
    @POST("inside/CloudImage/get_agent_hos_type")
    Observable<TypeBean> getType(@FieldMap Map<String, String> stringMap);

    //接口 10:  意向客户列表（cwb）
    @FormUrlEncoded
//    @POST("inside/CloudImage/intention_client")
    @POST("inside/v2/Cloudlmage/intention_client")
    Observable<PotentialCustomerBean> getIntentionClient(@FieldMap Map<String, String> stringMap);

    //接口 4:  签订合同列表（cwb）
    @FormUrlEncoded
//    @POST("inside/CloudImage/pact_ok_list")
    @POST("inside/v2/Cloudlmage/pact_ok_list")
    Observable<PotentialCustomerBean> getSignContractList(@FieldMap Map<String, String> stringMap);

    //接口46: C类客户
    @FormUrlEncoded
    @POST("inside/client/client_class")
    Observable<PotentialCustomerBean> getCCustomerList(@FieldMap Map<String, String> stringMap);

    //接口 49:医院详情(ggk)
    @FormUrlEncoded
    @POST("inside/Client/hos_details")
    Observable<HospitalDetailBean> getHosDetails(@FieldMap Map<String, String> stringMap);

    //接口 32:代理商详情(ggk)
    @FormUrlEncoded
    @POST("inside/Client/agent_details")
    Observable<AgentDetailBean> postAgentDetail(@FieldMap Map<String, String> stringMap);

    //接口 8: 代理商详情(cwb)
    @FormUrlEncoded
    @POST("inside/v2/Client/agent_details")
    Observable<AgentDetail1Bean> postAgentDetail1(@FieldMap Map<String, String> stringMap);

    //接口 44: 跟进类型(ggk)
    @FormUrlEncoded
    @POST("inside/client/chase_type")
    Observable<FollowTypeBean> getChaseType(@FieldMap Map<String, String> stringMap);

    //接口 43：医院客户跟进：（ggk）
    @FormUrlEncoded
    @POST("inside/client/hos_chase")
    Observable<BaseBean> postHosChase(@FieldMap Map<String, String> stringMap);

    //接口 42:代理商业务跟进（ggk）
    @FormUrlEncoded
    @POST("inside/client/agent_chase")
    Observable<BaseBean> postAgentChase(@FieldMap Map<String, String> stringMap);

    //接口 19：会议列表
    @FormUrlEncoded
    @POST("inside/WorkCount/meeting_list")
    Observable<MeetingBean> postMeetingList(@FieldMap Map<String, String> stringMap);

    //会议详情
    @FormUrlEncoded
    @POST("inside/Client/meeting_list")
    Observable<MeetingDetailBean> postMeetingDetail(@FieldMap Map<String, String> stringMap);

    //接口 16:  添加会议 &修改会议 （cwb）
    @FormUrlEncoded
    @POST("inside/WorkCount/insert_meeting")
    Observable<BaseBean> postInsertMeeting(@FieldMap Map<String, String> stringMap);

    //接口 11:  素材列表（cwb）
    @FormUrlEncoded
    @POST("inside/WorkCount/fodder_list")
    Observable<MaterialBean> postFodderList(@FieldMap Map<String, String> stringMap);

    //接口 15:  点击添加素材 判断是否有权限 （cwb）
    @FormUrlEncoded
    @POST("inside/WorkCount/check_insert_fodder")
    Observable<BaseBean> checkInsertFodder(@FieldMap Map<String, String> stringMap);

    //接口 12:  发布素材（cwb）
    @FormUrlEncoded
    @POST("inside/WorkCount/insert_fodder")
    Observable<BaseBean> postInsertFodder(@FieldMap Map<String, String> stringMap);

    //接口 53:  删除素材（cwb）
    @FormUrlEncoded
    @POST("inside/WorkCount/del_fodder")
    Observable<BaseBean> postDelFodder(@FieldMap Map<String, String> stringMap);

    //接口 6  上传医院合同（cwb）
    @FormUrlEncoded
    @POST("inside/CloudImage/insert_hos_pact")
    Observable<BaseBean> postHosPact(@FieldMap Map<String, String> stringMap);

    //接口 5  上传代理商合同（cwb）
    @FormUrlEncoded
    @POST("inside/v2/Cloudlmage/insert_agent_pact")
    Observable<BaseBean> postAgentPact(@FieldMap Map<String, String> stringMap);

    //接口 8  将用户设置为C类（cwb）
    @FormUrlEncoded
    @POST("inside/CloudImage/set_c")
    Observable<BaseBean> postSetC(@FieldMap Map<String, String> stringMap);

    //接口 45: 客户扔至公海
    @FormUrlEncoded
    @POST("inside/client/client_common_cast")
    Observable<BaseBean> postThrow(@FieldMap Map<String, String> stringMap);

    //接口 2:  点击安装完成（cwb）
    @FormUrlEncoded
    @POST("inside/CloudImage/install_ok")
    Observable<BaseBean> postInstallOk(@FieldMap Map<String, String> stringMap);

    //接口10:  添加回款（cwb）
    @FormUrlEncoded
//    @POST("inside/CloudImage/give_back_money")
    @POST("/inside/v2/Cloudlmage/give_back_money")
    Observable<BaseBean> postBackMoney(@FieldMap Map<String, String> stringMap);

    //接口 12:  补全合同（cwb）
    @FormUrlEncoded
//    @POST("inside/CloudImage/replenish_pact")
    @POST("inside/v2/Cloudlmage/replenish_pact")
    Observable<BaseBean> postPact(@FieldMap Map<String, String> stringMap);

    //接口 31:客户->代理商(ggk)
    @FormUrlEncoded
    @POST("inside/Client/agent_list")
    Observable<AgentListBean> postAgentList(@FieldMap Map<String, String> stringMap);

    //接口 34: 客户->医院（ggk）
    @FormUrlEncoded
    @POST("inside/Client/hos_list")
    Observable<AgentListBean> postHosList(@FieldMap Map<String, String> stringMap);

    //接口35 : 公海客户（ggk）
    @FormUrlEncoded
    @POST("inside/Client/commonality")
    Observable<AgentListBean> postOpenSea(@FieldMap Map<String, String> stringMap);

    //接口 48:认领客户 –>医院(ggk)
    @FormUrlEncoded
    @POST("inside/Client/claim_hos")
    Observable<BaseBean> postClaimHos(@FieldMap Map<String, String> stringMap);

    //接口 47:认领客户 –>代理商(ggk)
    @FormUrlEncoded
    @POST("inside/Client/claim_agent")
    Observable<BaseBean> postClaimAgent(@FieldMap Map<String, String> stringMap);

    //接口 39:搜索  (ggk)
    @FormUrlEncoded
    @POST("inside/Client/list_client")
    Observable<SearchBean> postSearch(@FieldMap Map<String, String> stringMap);

    //接口 50:公海客户数量(ggk)
    @FormUrlEncoded
    @POST("inside/Client/commonality_count")
    Observable<OpenSeaNumBean> getOpenSeaNum(@FieldMap Map<String, String> stringMap);

    //接口 40:会议结束（ggk）
    @FormUrlEncoded
    @POST("inside/Client/meeting_over")
    Observable<BaseBean> postMeetingOver(@FieldMap Map<String, String> stringMap);

    //接口53：查询版本更新（whm）
    @FormUrlEncoded
    @POST("inside/Client/version")
    Observable<APPInfo> postVersion(@FieldMap Map<String, String> stringMap);
    //接口15 :验证手机号是否注册（ggk）
    @FormUrlEncoded
    @POST("inside/v2/login/check_phone")
    Observable<BaseBean> postCheckPhone(@FieldMap Map<String, String> stringMap);
}
